﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Script.Serialization;
using System.Web.Services;
using System.Web.UI;
using System.Web.UI.WebControls;
using TuyenSinh.BLL;

namespace TuyenSinh
{
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
           
            if(!IsPostBack)
            {
               

            }
        }

       

        [WebMethod]
        public  static  string GetInforMajorSchool(int iSchoolId, int iMajorId,int frYear,int iTo)
        {
            BDetailEnrolling bDetail = new BDetailEnrolling();
            DataTable dt = bDetail.GetInforMajorSchool(iSchoolId, iMajorId, frYear, iTo);
            InforList  infor =  new InforList();
            StringBuilder sb = new StringBuilder();
            StringBuilder sb2 = new StringBuilder();
            if (dt!= null)
            {
                if (dt.Rows.Count>0)
                {

                    infor.Lst = new List<InforItem>();
                    sb.Append("<table class='chart-infor1' id='tab-infor1-1'>");
                    sb.Append("<caption>Thống kê số lượng của một ngành</caption>");

                    sb.Append("<thead>");
                    sb.Append("<tr><td>Năm</td>");
                    sb.Append("<th scope='col'>Số lượng đăng kí</th>");
                    sb.Append("<th scope='col'>Chỉ tiêu</th>");
                    sb2.Append("<table class='chart-infor1' id='tab-infor1-2'>");
                    sb2.Append("<caption>Điểm chuẩn và tỉ lệ chọi của một ngành</caption>");
                    sb2.Append("<thead>");
                    sb2.Append("<tr><td>Năm</td>");
                    sb2.Append("<th scope='col'>Điểm chuẩn</th>");
                    sb2.Append("<th scope='col'>Tỉ lệ chọi (1/xx)</th>");
                  
                    sb.Append("</tr></thead>");
                    sb.Append("<tbody>");
                    sb2.Append("</tr></thead>");
                    sb2.Append("<tbody>");

                    foreach (DataRow dr in dt.Rows)
                    {
                        
                        sb.Append("<tr>");
                        sb.AppendFormat("<th scope='row'>{0}</th>", dr["Year"].ToString());
                        sb.AppendFormat("<td> {0}</td>", dr["NumReg"].ToString());
                        sb.AppendFormat("<td> {0}</td>", dr["Targets"].ToString());
                        sb.Append("</tr>");

                        sb2.Append("<tr>");
                        sb2.AppendFormat("<th scope='row'>{0}</th>", dr["Year"].ToString());
                        sb2.AppendFormat("<td> {0}</td>", dr["Score"].ToString());
                        sb2.AppendFormat("<td> {0}</td>", String.Format("{0:0.##}", Convert.ToDouble(dr["NumCom"].ToString())));

                        sb2.Append("</tr>");


                    }

                    sb.Append("</tbody>");
                    sb.Append("</table>");

                    sb2.Append("</tbody>");
                    sb2.Append("</table>");

                }
            }
            else
            {
                sb = null;
            }
            return sb.ToString()+"&"+sb2.ToString();
        }

        [WebMethod]
        public  static  string GetMajorMultiSchool(int iMajorId, int iSchoolId, int iYear)
        {
            StringBuilder sb = new StringBuilder();
            StringBuilder sb2 = new StringBuilder();
            BDetailEnrolling bDetail = new BDetailEnrolling();
            DataTable dt = bDetail.GetMajorMultiSchool(iMajorId, iSchoolId, iYear);
            if (dt!= null)
            {
                if (dt.Rows.Count > 0)
                {
                    BSchool bSchool = new BSchool();
                    DataTable dtSchool = bSchool.GetSchool(string.Empty, 0, 0, 0, 1, 0);
                    string sFilter = "Id = " + iSchoolId ;
                    foreach (DataRow dr in dt.Rows)
                    {
                        sb.Append("<tr>");
                        sb.AppendFormat("<th scope='row'>{0}</th>", dtSchool.Select(sFilter)[0]["Name"].ToString());
                        sb.AppendFormat("<td> {0}</td>", dr["QuantityRegister"].ToString());
                        sb.AppendFormat("<td> {0}</td>", dr["Targets"].ToString());
                        sb.Append("</tr>");

                        sb2.Append("<tr>");
                        sb2.AppendFormat("<th scope='row'>{0}</th>", dtSchool.Select(sFilter)[0]["Name"].ToString());
                        sb2.AppendFormat("<td> {0}</td>", dr["Score"].ToString());
                        sb2.AppendFormat("<td> {0}</td>", String.Format("{0:0.##}", Convert.ToDouble(dr["CompetitionNum"].ToString())));
                        sb2.Append("</tr>");


                    }
                }
            }
            return sb.ToString()+"&"+sb2.ToString();
        }

        [WebMethod]
        public  static  string GetPercentMajorInSchool(int iSchoolId, int iMajorId, int iYear, int iTop)
        {
            BDetailEnrolling bDetail = new BDetailEnrolling();
            DataTable dt = bDetail.GetInforMajorSchool(iSchoolId, iMajorId, iYear, iYear);
            StringBuilder sb = new StringBuilder();
            if (dt != null)
            {
                if (dt.Rows.Count > 0)
                {

                    sb.Append("<table class='chart-infor1' id='tab-infor3'>");
                    sb.Append("<caption>Tỷ lệ phần trăm các ngành trong một trường</caption>");
                    sb.Append("<thead>");
                    sb.Append("<tr><td>Ngành</td>");
                    sb.Append("<th scope='col'>Số lượng đăng kí</th>");
                   
                    sb.Append("</tr></thead>");
                    sb.Append("<tbody>");
                    int iOtherNum = 0;
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (iTop-- > 0)
                        {
                            sb.Append("<tr>");
                            sb.AppendFormat("<th scope='row'>{0}</th>", dr["Name"].ToString());
                            sb.AppendFormat("<td> {0}</td>", dr["NumReg"].ToString());
                            sb.Append("</tr>");    
                        }
                        else
                        {
                            iOtherNum += Convert.ToInt32(dr["NumReg"]);
                        }
                    }
                    if (iOtherNum > 0)
                    {
                        sb.Append("<tr>");
                        sb.AppendFormat("<th scope='row'>{0}</th>", "Các ngành khác");
                        sb.AppendFormat("<td> {0}</td>", iOtherNum.ToString());
                        sb.Append("</tr>");
                    }
                    sb.Append("</tbody>");
                    sb.Append("</table>");

                   
                }
            }
            else
            {
                sb = null;
            }
            return sb.ToString();
        }
        [WebMethod]
        public  static string GetPercentBetweenSchool(int iGroupId, int iRegion, int iYear, int iTop)
        {
            BDetailEnrolling bDetail = new BDetailEnrolling();
            DataTable dt = bDetail.GetPercentBetweenSchool(iGroupId, iRegion, iYear);
            StringBuilder sb = new StringBuilder();
            if (dt != null)
            {
                if (dt.Rows.Count > 0)
                {

                    sb.Append("<table class='chart-infor1' id='tab-infor4'>");
                    sb.Append("<caption>Tỷ lệ phần trăm của 1 ngành ở các trường</caption>");
                    sb.Append("<thead>");
                    sb.Append("<tr><td>Trường</td>");
                    sb.Append("<th scope='col'>Số lượng đăng kí</th>");

                    sb.Append("</tr></thead>");
                    sb.Append("<tbody>");
                    int iOtherNum = 0;
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (iTop-- > 0)
                        {
                            sb.Append("<tr>");
                            sb.AppendFormat("<th scope='row'>{0}</th>", dr["SchoolName"].ToString());
                            sb.AppendFormat("<td> {0}</td>", dr["NumReg"].ToString());
                            sb.Append("</tr>");
                        }
                        else
                        {
                            iOtherNum += Convert.ToInt32(dr["NumReg"]);
                        }
                    }
                    if (iOtherNum > 0)
                    {
                        sb.Append("<tr>");
                        sb.AppendFormat("<th scope='row'>{0}</th>", "Các trường khác");
                        sb.AppendFormat("<td> {0}</td>", iOtherNum.ToString());
                        sb.Append("</tr>");
                    }
                    sb.Append("</tbody>");
                    sb.Append("</table>");


                }
            }
            else
            {
                sb = null;
            }
            return sb.ToString();
        }

        [WebMethod]
        public  static  string GetPercentFieldBetweenSchool(int iRegion, int iYear, int iTop)
        {
            BDetailEnrolling bDetail = new BDetailEnrolling();
            DataTable dt = bDetail.GetPercentFieldBetweenSchool(iRegion, iYear);
            StringBuilder sb = new StringBuilder();
            if (dt != null)
            {
                if (dt.Rows.Count > 0)
                {

                    sb.Append("<table class='chart-infor1' id='tab-infor5'>");
                    sb.Append("<caption>Tỷ lệ phần trăm của của các khối trong các trường</caption>");
                    sb.Append("<thead>");
                    sb.Append("<tr><td>Khối</td>");
                    sb.Append("<th scope='col'>Số lượng đăng kí</th>");

                    sb.Append("</tr></thead>");
                    sb.Append("<tbody>");
                    int iOtherNum = 0;
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (iTop-- > 0)
                        {
                            sb.Append("<tr>");
                            sb.AppendFormat("<th scope='row'>{0}</th>", dr["Name"].ToString());
                            sb.AppendFormat("<td> {0}</td>", dr["NumReg"].ToString());
                            sb.Append("</tr>");
                        }
                        else
                        {
                            iOtherNum += Convert.ToInt32(dr["NumReg"]);
                        }
                    }
                    if (iOtherNum > 0)
                    {
                        sb.Append("<tr>");
                        sb.AppendFormat("<th scope='row'>{0}</th>", "Các khối khác");
                        sb.AppendFormat("<td> {0}</td>", iOtherNum.ToString());
                        sb.Append("</tr>");
                    }
                    sb.Append("</tbody>");
                    sb.Append("</table>");


                }
            }
            else
            {
                sb = null;
            }
            return sb.ToString();
        }

    }

    public  class InforItem
    {
        public string Object { get; set; }
        public int NumRegister { get; set; }
        public int Targets { get; set; }
        public int Score { get; set; }
        public int NumCompetitor { get; set; }
    }
    [Serializable]
    public class InforList
    {
        public List<InforItem> Lst { get; set; }
        public int Length { get; set; }
    }

}